<template>
	<view class="versionupdating-page">
		<view calss="versionupdating-img" style="width: 100%;height: 120upx;text-align:center;padding-top: 100upx;padding-bottom: 40upx;">
			<image src="../../../static/images/logo1.png" style="width: 400upx;height: 100%;"></image>

		</view>
		<view>
			<p class=" font-32 text-center">当前版本:{{version}}</p>
		</view>
	</view>
</template>

<script>
	import api from '@/common/lib/request.js';
	export default {
		data() {
			return {
				version: "", //当前版本号
				wgtVer :""

			}
		},
		
		methods: {
			// 获取本地应用资源版本号  
			plusReady(){
				var _this = this
				//uni.removeStorageSync('version');
				if(!uni.getStorageSync('version')){
					uni.setStorageSync('version','2.00');
				}
				_this.version = uni.getStorageSync('version')
				_this.AndroidCheckUpdate();		    	
			},
			/*
			 * 安卓应用的检测更新实现
			 */
			AndroidCheckUpdate() {
				var _this = this;
				api.request({
						url: '/version',
						data: {}
					})
					.then(response => {
						var server_version = response.version;
						var currurl = response.url;
						_this.checkVersionToLoadUpdate(server_version, _this.version, currurl)
					});
			},
			/**
			 * 进行版本型号的比对 以及下载更新请求
			 * @param {Object} server_version 服务器最新 应用版本号
			 * @param {Object} curr_version 当前应用版本号
			 */
			checkVersionToLoadUpdate: function(server_version, curr_version, currurl) {
				var _this = this
				if (server_version !== curr_version) {
					//TODO 此处判断是否为 WIFI连接状态
					if (plus.networkinfo.getCurrentType() != 3) {
						uni.showToast({
							title: '有新的版本发布，检测到您目前非Wifi连接，为节约您的流量，程序已停止自动更新，将在您连接WIFI之后重新检测更新',
							mask: true,
							duration: 5000,
							icon: "none"
						});
						return;
					} else {
						uni.showModal({
							title: "版本更新",
							content: '有新的版本发布，检测到您当前为Wifi连接，是否立即进行新版本下载？',
							confirmText: '立即更新',
							cancelText: '稍后进行',
							success: function(res) {
								if (res.confirm) {
									uni.showToast({
										icon: "none",
										mask: true,
										title: '有新的版本发布，检测到您目前为Wifi连接，程序已启动自动更新。新版本下载完成后将自动弹出安装程序',
										duration: 5000,
									});
									//设置 最新版本apk的下载链接
									var downloadApkUrl = currurl;
									plus.nativeUI.showWaiting("更新中...");
									var dtask = plus.downloader.createDownload(downloadApkUrl, {}, function(d, status) {
										// 下载完成  
										if (status == 200) {
											plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename), {
												force: true
											}, function() {
                                         
												plus.nativeUI.alert("APP更新完成！", function() {
													plus.nativeUI.closeWaiting();
													
													 
												});
												
											}, function() {
												plus.nativeUI.closeWaiting();
												uni.showModal({
													mask: true,
													title: '安装失败',
													content: plus.io.convertLocalFileSystemURL(d.filename),
													duration: 5000,
												});
												
												uni.setStorageSync('version',server_version)
												_this.version = server_version;
												plus.runtime.restart();
											})
										} else {
											plus.nativeUI.closeWaiting();
											uni.showToast({
												title: '更新失败',
												duration: 1500
											});
										}
									});
									dtask.start();
								} else if (res.cancel) { 
									console.log('稍后更新');
								}
							}
						});
					}
				} else {
					plus.nativeUI.alert("无新版本可更新！");
				}
			}
		},
		onLoad() {
			this.plusReady();
		},
		mounted() {
						 			  
		}
	}
</script>

<style scoped>
	.textversion {}

	.textlink {
		color: #007AFF;
		text-decoration: underline;
	}
</style>
